A collection of information about Data Augmentation libraries for Image Processing.

Albumentations

last updated on 10/10/2023

Supported languages:
  • Python (3.6+)
Supported ML libraries:
  • PyTorch
  • Keras
Requirements:
  • numpy>=1.11.1
  • scikit-image>=0.16.1
  • PyYAML
  • qudida>=0.0.4
  • opencv-python-headless>=4.1.1
  • scipy
  • scikit-learn>=0.19.1
  • typing-extensions
  • tifffile>=2019.7.26
  • PyWavelets>=1.1.1
  • pillow!=7.1.0,!=7.1.1,>=4.3.0
  • imageio>=2.3.0
  • matplotlib!=3.0.0,>=2.0.0
  • networkx>=2.0
  • python-dateutil>=2.1
  • cycler>=0.10
  • pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3
  • kiwisolver>=1.0.1
  • decorator<5,>=4.3
  • joblib>=0.11
  • threadpoolctl>=2.0.0
  • six>=1.5
albumentations.augmentations
albumentations.augmentations
dropout
dropout
geometric
geometric
domain_adaptation
domain_adaptation
blur
blur
functional
functional
transforms
transforms
crops
crops
transforms
transforms
transforms
transforms
functional
functional
functional
functional
resize
resize
rotate
rotate
transforms
transforms
grid_dropout
grid_dropout
mask_dropout
mask_dropout
cutout
cutout
channel_dropout
channel_dropout
coarse_dropout
coarse_dropout
Text is not SVG - cannot display
Transformations Description Tags
1.

from albumentations.augmentations.blur.transforms

Blurs the input image using a Generalized Normal filter with a randomly selected parameters. This transform also adds multiplicative noise to generated kernel before convolution. See Reference.

BLUR
Original Augmented
transform = A.Compose([
    A.AdvancedBlur(blur_limit=(15, 17), sigmaX_limit=(0.2, 1.0), sigmaY_limit=(0.2, 1.0),
                   rotate_limit=90, beta_limit=(0.5, 8.0), noise_limit=(0.9, 1.1),
                   always_apply=False, p=1)
])
2.

from albumentations.augmentations.geometric.transforms

Augmentation to apply affine transformations to images. This is mostly a wrapper around the corresponding classes and functions in OpenCV. See Reference.

BASIC GEOMETRY
3.

from albumentations.augmentations.blur.transforms

Blurs the input image using a random-sized kernel.

BLUR
Original Augmented
transform = A.Compose([
    A.Blur(blur_limit=19, always_apply=False, p=1)
])
4.

from albumentations.augmentations.transforms

Applies Contrast Limited Adaptive Histogram Equalization to the input image.

PHOTOMETRY
Original Augmented
Original Augmented
transform = A.Compose([
    A.CLAHE(clip_limit=4.0, tile_grid_size=(8, 8),
             always_apply=False, p=1)
])
5.

from albumentations.augmentations.crops.transforms

Crops the central part of the input.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.CenterCrop(2000, 2700, always_apply=False, p=1.0)
])
6.

from albumentations.augmentations.dropout.channel_dropout

Randomly drops channels in the input image.

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.ChannelDropout(channel_drop_range=(1, 1), fill_value=0, always_apply=False, p=1)
])
7.

from albumentations.augmentations.transforms

Randomly rearranges channels of the input RGB image.

PHOTOMETRY
Original Augmented
Original Augmented
transform = A.Compose([
    A.ChannelShuffle(p=1),
])
8.

from albumentations.augmentations.dropout.coarse_dropout

CoarseDropout of the rectangular regions in the image. See Reference.

DROPOUT
Original Augmented
transform = A.Compose([
    A.CoarseDropout(max_holes=20, max_height=30, max_width=26, min_holes=None,
                    min_height=None, min_width=None, fill_value=0, mask_fill_value=None,
                    always_apply=False, p=1)
])
9.

from albumentations.augmentations.transforms

Randomly changes the brightness, contrast, and saturation of an image.

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2, hue=0.2,
                  always_apply=False, p=1)
])
Original Augmented
transform = A.Compose([
    A.ColorJitter(brightness=0.2, contrast=(1,2), saturation=0.2, hue=0.2,
                  always_apply=False, p=1)
])
10.

from albumentations.augmentations.crops.transforms

Crops region from image.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.Crop(x_min=0, y_min=0, x_max=2024, y_max=2024, always_apply=False, p=1.0)
])
11.

from albumentations.augmentations.crops.transforms

Crops and pads images by pixel amounts or fractions of image sizes. Cropping removes pixels at the sides (i.e. extracts a subimage from a given full image). Padding adds pixels to the sides (e.g. black pixels). This transformation will never crop images below a height or width of 1.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.CropAndPad(px=None, percent=0.1, pad_mode=0, pad_cval=0, pad_cval_mask=0,
                 keep_size=True, sample_independently=True, interpolation=1,
                 always_apply=False, p=1.0)
])
Original Augmented
transform = A.Compose([
    A.CropAndPad(px=None, percent=-0.1, pad_mode=0, pad_cval=0, pad_cval_mask=0,
                 keep_size=True, sample_independently=True, interpolation=1,
                 always_apply=False, p=1.0)
])
12.

from albumentations.augmentations.crops.transforms

Crops area with mask if mask is non-empty, else make random crop.

13.

from albumentations.augmentations.dropout.cutout

CoarseDropout of the square regions in the image. See Reference.

DROPOUT
Original Augmented
transform = A.Compose([
    A.Cutout(num_holes=100, max_h_size=20, max_w_size=10, fill_value=(250,250,0),
             always_apply=False, p=1)
])
14.

from albumentations.augmentations.blur.transforms

Apply defocus transform. See here.

BLUR
Original Augmented
transform = A.Compose([
    A.Defocus(radius=(9, 9), alias_blur=(0.1, 0.5), always_apply=False, p=1)
])
15.

from albumentations.augmentations.transforms

Decreases image quality by downscaling and upscaling back.

WORSENING
Original Augmented
transform = A.Compose([
    A.Downscale(scale_min=0.25, scale_max=0.25, interpolation=None,
                always_apply=False, p=1)
])
16.

from albumentations.augmentations.geometric.transforms

Elastic deformation of images as described in Simard, Steinkraus and Platt, “Best Practices for Convolutional Neural Networks applied to Visual Document Analysis”, in Proc. of the International Conference on Document Analysis and Recognition, 2003 (with modifications).

DISTORTION
Original Augmented
transform = A.Compose([
    A.ElasticTransform(alpha=1000, sigma=30, alpha_affine=50, interpolation=1,
                       border_mode=0, value=None, mask_value=None,
                       always_apply=False, approximate=False, same_dxdy=False, p=1)
])
17.

from albumentations.augmentations.transforms

Emboss the input image and overlays the result with the original image.

SHARPNESS
Original Augmented
transform = A.Compose([
    A.Emboss(alpha=(0.9, 0.9), strength=(0.2, 0.7), always_apply=False, p=1)
])
18.

from albumentations.augmentations.transforms

Equalizes the image histogram.

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.Equalize(mode='cv', by_channels=True, mask=None, mask_params=(),
               always_apply=False, p=1)
])
19.

from albumentations.augmentations.domain_adaptation

Augmenter from Fourier Domain Adaptation Simple “style transfer”.

20.

from albumentations.augmentations.transforms

Augments RGB image using FancyPCA from Krizhevsky’s paper ImageNet Classification with Deep Convolutional Neural Networks.

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.FancyPCA(alpha=0.8, always_apply=False, p=1)
])
21.

from albumentations.augmentations.geometric.transforms

Flips the input either horizontally, vertically or both horizontally and vertically.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.Flip(p=1)
])
22.

from albumentations.augmentations.transforms

Applies gaussian noise to the input image.

NOISE
Original Augmented
transform = A.Compose([
    A.GaussNoise(var_limit=(50.0, 50.0), mean=0, per_channel=True,
                 always_apply=False, p=1)
])
23.

from albumentations.augmentations.blur.transforms

Blurs the input image using a Gaussian filter with a random kernel size.

BLUR
Original Augmented
transform = A.Compose([
    A.GaussianBlur(blur_limit=(15, 17), sigma_limit=9, always_apply=False, p=1)
])
24.

from albumentations.augmentations.blur.transforms

Applies glass noise to the input image. See Reference.

BLUR
Original Augmented
transform = A.Compose([
    A.GlassBlur(sigma=0.7, max_delta=4, iterations=2, always_apply=False,
                mode='exact', p=1)
])
25.

from albumentations.augmentations.geometric.transforms

DISTORTION
Original Augmented
transform = A.Compose([
    A.GridDistortion(num_steps=5, distort_limit=0.3, interpolation=1,
                     border_mode=4, value=None, mask_value=None,
                     normalized=False, always_apply=False, p=1)
])
26.

from albumentations.augmentations.dropout.grid_dropout

Drops out rectangular regions of an image and the corresponding mask in a grid fashion. See GridMask.

DROPOUT
Original Augmented
transform = A.Compose([
    A.GridDropout(ratio=0.5, unit_size_min=None, unit_size_max=None,
                  holes_number_x=None, holes_number_y=None, shift_x=0,
                  shift_y=0, random_offset=False, fill_value=0,
                  mask_fill_value=None, always_apply=False, p=1)
])
27.

from albumentations.augmentations.domain_adaptation

Applies histogram matching. It manipulates the pixels of an input image so that its histogram matches the histogram of the reference image. If the images have multiple channels, the matching is done independently for each channel, as long as the number of channels is equal in the input image and the reference.

PHOTOMETRY
28.

from albumentations.augmentations.geometric.transforms

Flips the input horizontally around the y-axis.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.HorizontalFlip(p=1)
])
29.

from albumentations.augmentations.transforms

Randomly changes hue, saturation and value of the input image.

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.HueSaturationValue(hue_shift_limit=20, sat_shift_limit=30, val_shift_limit=20,
                         always_apply=False, p=1)
])
30.

from albumentations.augmentations.transforms

Applies camera sensor noise.

NOISE
Original Augmented
transform = A.Compose([
    A.ISONoise(color_shift=(0.03, 0.05), intensity=(0.1, 0.5),
               always_apply=False, p=1)
])
31.

from albumentations.augmentations.transforms

Decreases image quality by Jpeg, WebP compression of an image.

WORSENING
Original Augmented
ct = A.ImageCompression.ImageCompressionType.JPEG

transform = A.Compose([
    A.ImageCompression(quality_lower=10, quality_upper=20, compression_type=ct, always_apply=False, p=1)
])
32.

from albumentations.augmentations.transforms

Invert the input image by subtracting pixel values from 255.

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.InvertImg(p=1)
])
33.

from albumentations.augmentations.transforms

Decreases image quality by Jpeg compression of an image.

WORSENING
34.

from albumentations.augmentations.geometric.resize

Rescales an image so that maximum side is equal to max_size, keeping the aspect ratio of the initial image.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.LongestMaxSize(max_size=350, interpolation=1, always_apply=False, p=1)
])
35.

from albumentations.augmentations.dropout.mask_dropout

Image & mask augmentation that zero out mask and image regions corresponding to randomly chosen object instance from mask. Mask must be single-channel image, zero values treated as background. Image can be any number of channels. Inspired by Severstal: Steel Defect Detection discussion.

DROPOUT
Original Augmented
transform = A.Compose([
    A.MaskDropout(max_objects=(3,3), p=1)
])
36.

from albumentations.augmentations.blur.transforms

Blurs the input image using a median filter with a random aperture linear size.

BLUR
Original Augmented
transform = A.Compose([
    A.MedianBlur(blur_limit=17, always_apply=False, p=1)
])
37.

from albumentations.augmentations.blur.transforms

Applies motion blur to the input image using a random-sized kernel.

BLUR
Original Augmented
transform = A.Compose([
    A.MotionBlur(blur_limit=27, allow_shifted=True, always_apply=False, p=1)
])
38.

from albumentations.augmentations.transforms

Multiplies image to random number or array of numbers.

NOISE
Original Augmented
transform = A.Compose([
    A.MultiplicativeNoise(multiplier=(0.7, 0.8), per_channel=False, elementwise=False,
                          always_apply=False, p=1)
])
39.

from albumentations.augmentations.geometric.transforms

DISTORTION
Original Augmented
transform = A.Compose([
    A.OpticalDistortion(distort_limit=0.4, shift_limit=0.05, interpolation=1,
                        border_mode=4, value=None, mask_value=None,
                        always_apply=False, p=1)
])
40.

from albumentations.augmentations.geometric.transforms

Pads side of the image/max if side is less than desired number.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.PadIfNeeded(min_height=1700, min_width=2000, pad_height_divisor=None,
                  pad_width_divisor=None, position='center',
                  border_mode=4, value=None, mask_value=None,
                  always_apply=False, p=1.0)
])
41.

from albumentations.augmentations.geometric.transforms

Performs a random four point perspective transform of the input.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.Perspective(scale=(0.05, 0.1), keep_size=True, pad_mode=0, pad_val=0,
                  mask_pad_val=0, fit_output=False, interpolation=1,
                  always_apply=False, p=1)
])
42.

from albumentations.augmentations.geometric.transforms

Applies affine transformations that differ between local neighbourhoods. This augmentation places a regular grid of points on an image and randomly moves the neighbourhood of these point around via affine transformations. This leads to local distortions.

DISTORTION
Original Augmented
Original Augmented
transform = A.Compose([
    A.PiecewiseAffine(scale=(0.03, 0.05), nb_rows=4, nb_cols=4, interpolation=1,
                      mask_interpolation=0, cval=0, cval_mask=0, mode='constant',
                      absolute_scale=False, always_apply=False, keypoints_threshold=0.01,
                      p=1)
])
43.

from albumentations.augmentations.domain_adaptation

Fits a simple transform (such as PCA, StandardScaler or MinMaxScaler) on both original and reference image, transforms original image with transform trained on this image and then performs inverse transformation using transform fitted on reference image.

44.

from albumentations.augmentations.transforms

Sets pixels to 0 with some probability.

Original Augmented
transform = A.Compose([
    A.PixelDropout(dropout_prob=0.01, per_channel=False, drop_value=0, mask_drop_value=None,
                   always_apply=False, p=1)
])
45.

from albumentations.augmentations.transforms

Reduces the number of bits for each color channel.

STYLE FILTER
Original Augmented
transform = A.Compose([
    A.Posterize(num_bits=3, always_apply=False, p=1)
])
46.

from albumentations.augmentations.transforms

Randomly shifts values for each channel of the input RGB image.

PHOTOMETRY
Original Augmented
Original Augmented
transform = A.Compose([
    A.RGBShift(r_shift_limit=20, g_shift_limit=50, b_shift_limit=100,
               always_apply=False, p=1)
])
47.

from albumentations.augmentations.transforms

Randomly changes brightness of the input image.

PHOTOMETRY
Original Augmented
Original Augmented
transform = A.Compose([
    A.RandomBrightness(limit=0.2, always_apply=False, p=1)
])
48.

from albumentations.augmentations.transforms

Randomly changes brightness and contrast of the input image.

PHOTOMETRY
49.

from albumentations.augmentations.transforms

Randomly changes contrast of the input image.

PHOTOMETRY
Original Augmented
Original Augmented
transform = A.Compose([
    A.RandomContrast(limit=0.2, always_apply=False, p=1)
])
50.

from albumentations.augmentations.crops.transforms

Crops a random part of the input.

BASIC GEOMETRY
Original Augmented
Original Augmented
transform = A.Compose([
    A.RandomCrop(2000, 2000, always_apply=False, p=1.0)
])
51.

from albumentations.augmentations.crops.transforms

Crops bbox from image randomly cut parts from borders without resize at the end.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.RandomCropFromBorders(crop_left=0.2, crop_right=0.1, crop_top=0.1, crop_bottom=0.3,
                            always_apply=False, p=1.0)
])
52.

from albumentations.augmentations.crops.transforms

Crops bbox from image with random shift by x,y coordinates.

BASIC GEOMETRY
53.

from albumentations.augmentations.transforms

Simulates fog for the image (Automold).

WEATHER
54.

from albumentations.augmentations.transforms

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.RandomGamma(gamma_limit=(50, 50), eps=None,
                  always_apply=False, p=1)
])
Original Augmented
transform = A.Compose([
    A.RandomGamma(gamma_limit=(200, 200), eps=None,
                  always_apply=False, p=1)
])
55.

from albumentations.augmentations.transforms

Adds gravels (Automold).

STREET
56.

from albumentations.augmentations.transforms

Random shuffles grid’s cells on image.

57.

from albumentations.augmentations.transforms

Adds rain effects (Automold).

WEATHER
58.

from albumentations.augmentations.crops.transforms

Torchvision’s variant of crop a random part of the input and rescale it to some size.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.RandomResizedCrop(2000, 2500, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333),
                        interpolation=1, always_apply=False, p=1.0)
])
59.

from albumentations.augmentations.geometric.rotate

Randomly rotates the input by 90 degrees zero or more times.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.RandomRotate90(p=1)
])
60.

from albumentations.augmentations.geometric.resize

Randomly resizes the input. Output image size is different from the input image size.

BASIC GEOMETRY
61.

from albumentations.augmentations.transforms

Simulates shadows for the image (Automold).

STREET
62.

from albumentations.augmentations.crops.transforms

Crops a random part of the input and rescale it to some size without loss of bboxes.

BASIC GEOMETRY
63.

from albumentations.augmentations.crops.transforms

Crops a random part of the input and rescale it to some size.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.RandomSizedCrop([2500,2500], 2300, 2000, w2h_ratio=1.0,
                      interpolation=1, always_apply=False, p=1.0)
])
64.

from albumentations.augmentations.transforms

Bleach out some pixel values simulating snow (Automold).

WEATHER
65.

from albumentations.augmentations.transforms

Simulates Sun Flare for the image (Automold).

WEATHER
66.

from albumentations.augmentations.transforms

Randomly changes the relationship between bright and dark areas of the image by manipulating its tone curve.

PHOTOMETRY
Original Augmented
Original Augmented
transform = A.Compose([
    A.RandomToneCurve(scale=0.7, always_apply=False, p=0.5)
])
67.

from albumentations.augmentations.geometric.resize

Resizes the input to the given height and width.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.Resize(300, 300, interpolation=1, always_apply=False, p=1)
])
68.

from albumentations.augmentations.transforms

Creates ringing or overshoot artefacts by convolving image with 2D sinc filter. See Reference.

WORSENING
Original Augmented
transform = A.Compose([
    A.RingingOvershoot(blur_limit=(15, 15), cutoff=(0.7853981633974483, 1.5707963267948966),
                       always_apply=False, p=1)
])
69.

from albumentations.augmentations.geometric.rotate

Rotates the input by an angle selected randomly from the uniform distribution.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.Rotate(limit=90, interpolation=1, border_mode=0, value=(200,0,200),
             mask_value=None, rotate_method='largest_box',
             crop_border=False, always_apply=False, p=1)
])
Original Augmented
transform = A.Compose([
    A.Rotate(limit=90, interpolation=1, border_mode=1, value=None,
             mask_value=None, rotate_method='ellipse',
             crop_border=False, always_apply=False, p=1)
])
Original Augmented
transform = A.Compose([
    A.Rotate(limit=90, interpolation=1, border_mode=2, value=None,
             mask_value=None, rotate_method='ellipse',
             crop_border=False, always_apply=False, p=1)
])
Original Augmented
transform = A.Compose([
    A.Rotate(limit=90, interpolation=1, border_mode=3, value=None,
             mask_value=None, rotate_method='ellipse',
             crop_border=False, always_apply=False, p=1)
])
Original Augmented
transform = A.Compose([
    A.Rotate(limit=90, interpolation=1, border_mode=4, value=None,
             mask_value=None, rotate_method='ellipse',
             crop_border=False, always_apply=False, p=1)
])
70.

from albumentations.augmentations.geometric.rotate

Rotates the input inside the input’s frame by an angle selected randomly from the uniform distribution.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.SafeRotate(limit=90, interpolation=1, border_mode=4, value=None,
                 mask_value=None, always_apply=False, p=1)
])
71.

from albumentations.augmentations.transforms

Sharpens the input image and overlays the result with the original image.

SHARPNESS
Original Augmented
transform = A.Compose([
    A.Sharpen(alpha=(0.8, 0.9), lightness=(1.0, 1.0),
              always_apply=False, p=1)
])
72.

from albumentations.augmentations.geometric.transforms

Randomly applies affine transforms: translates, scales and rotates the input.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.ShiftScaleRotate(shift_limit=0.0625, scale_limit=0.1, rotate_limit=45,
                       interpolation=1, border_mode=4, value=None, mask_value=None,
                       shift_limit_x=None, shift_limit_y=None, rotate_method='largest_box',
                       always_apply=False, p=1)
])
73.

from albumentations.augmentations.geometric.resize

Rescales an image so that minimum side is equal to max_size, keeping the aspect ratio of the initial image.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.SmallestMaxSize(max_size=270, interpolation=1, always_apply=False, p=1)
])
74.

from albumentations.augmentations.transforms

Inverts all pixel values above a threshold.

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.Solarize(threshold=128, always_apply=False, p=1)
])
75.

from albumentations.augmentations.transforms

Simulates corruption which can occlude a lens in the form of rain or mud. See Reference.

Original Augmented
transform = A.Compose([
    A.Spatter(mean=0.65, std=0.3, gauss_sigma=2, cutout_threshold=0.68,
              intensity=0.6, mode='rain', always_apply=False,
              p=1)
])
Original Augmented
transform = A.Compose([
    A.Spatter(mean=0.65, std=0.3, gauss_sigma=2, cutout_threshold=0.68,
              intensity=0.6, mode='mud', always_apply=False,
              p=1)
])
76.

from albumentations.augmentations.transforms

Transforms images partially/completely to their superpixel representation.

TESSELLATION
Original Augmented
transform = A.Compose([
    A.Superpixels(p_replace=0.1, n_segments=50, max_size=256, interpolation=1,
                  always_apply=False, p=1)
])
77.

from albumentations.augmentations.transforms

Applies blending of input image with specified templates.

78.

from albumentations.augmentations.transforms

Converts the input RGB image to grayscale. If the mean pixel value for the resulting image is greater than 127, inverts the resulting grayscale image.

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.ToGray(p=1)
])
79.

from albumentations.augmentations.transforms

Applies sepia filter to the input RGB image.

PHOTOMETRY
Original Augmented
transform = A.Compose([
    A.ToSepia(always_apply=False, p=1)
])
80.

from albumentations.augmentations.geometric.transforms

Transposes the input by swapping rows and columns.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.Transpose(p=1)
])
81.

from albumentations.augmentations.transforms

Sharpens the input image using Unsharp Masking processing and overlays the result with the original image. See Reference.

SHARPNESS
Original Augmented
transform = A.Compose([
    A.UnsharpMask(blur_limit=(15, 17), sigma_limit=6, alpha=(0.7, 0.8), threshold=5,
                  always_apply=False, p=1)
])
82.

from albumentations.augmentations.geometric.transforms

Flips the input vertically around the x-axis.

BASIC GEOMETRY
Original Augmented
transform = A.Compose([
    A.VerticalFlip(p=1)
])
83.

from albumentations.augmentations.blur.transforms

Applies zoom blur transform. See here.

BLUR
Original Augmented
transform = A.Compose([
    A.ZoomBlur(max_factor=1.31, step_factor=(0.01, 0.03),
               always_apply=False, p=1)
])